package br.com.goldentrade.negocio.beans;

import java.io.Serializable;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;

import javax.xml.bind.annotation.XmlTransient;

@Entity
@Table(name = "manejo_risco")
@NamedQueries({
    @NamedQuery(name = "ManejoRisco.findAll", query = "SELECT m FROM ManejoRisco m"),
    @NamedQuery(name = "ManejoRisco.findByCdManejo", query = "SELECT m FROM ManejoRisco m WHERE m.cdManejo = :cdManejo"),
    @NamedQuery(name = "ManejoRisco.findByVlCapitalOperacional", query = "SELECT m FROM ManejoRisco m WHERE m.vlCapitalOperacional = :vlCapitalOperacional"),
    @NamedQuery(name = "ManejoRisco.findByVlMaxConcentracaoOperacao", query = "SELECT m FROM ManejoRisco m WHERE m.vlMaxConcentracaoOperacao = :vlMaxConcentracaoOperacao"),
    @NamedQuery(name = "ManejoRisco.findByVlRiscoMaxOperacao", query = "SELECT m FROM ManejoRisco m WHERE m.vlRiscoMaxOperacao = :vlRiscoMaxOperacao"),
    @NamedQuery(name = "ManejoRisco.findByVlPrejuizoMaximo", query = "SELECT m FROM ManejoRisco m WHERE m.vlPrejuizoMaximo = :vlPrejuizoMaximo")})
public class ManejoRisco implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    @Column(name = "cd_manejo")
    private Integer cdManejo;
    @Column(name = "vl_capital_operacional")
    private Float vlCapitalOperacional;
    @Column(name = "vl_max_concentracao_operacao")
    private Float vlMaxConcentracaoOperacao;
    @Column(name = "vl_risco_max_operacao")
    private Float vlRiscoMaxOperacao;
    @Column(name = "vl_prejuizo_maximo")
    private Float vlPrejuizoMaximo;
    @OneToMany(mappedBy = "cdManejo")
    private List<Operacao> operacaoList;

    public ManejoRisco() {
    }

    public ManejoRisco(Integer cdManejo) {
        this.cdManejo = cdManejo;
    }

    public Integer getCdManejo() {
        return cdManejo;
    }

    public void setCdManejo(Integer cdManejo) {
        this.cdManejo = cdManejo;
    }

    public Float getVlCapitalOperacional() {
        return vlCapitalOperacional;
    }

    public void setVlCapitalOperacional(Float vlCapitalOperacional) {
        this.vlCapitalOperacional = vlCapitalOperacional;
    }

    public Float getVlMaxConcentracaoOperacao() {
        return vlMaxConcentracaoOperacao;
    }

    public void setVlMaxConcentracaoOperacao(Float vlMaxConcentracaoOperacao) {
        this.vlMaxConcentracaoOperacao = vlMaxConcentracaoOperacao;
    }

    public Float getVlRiscoMaxOperacao() {
        return vlRiscoMaxOperacao;
    }

    public void setVlRiscoMaxOperacao(Float vlRiscoMaxOperacao) {
        this.vlRiscoMaxOperacao = vlRiscoMaxOperacao;
    }

    public Float getVlPrejuizoMaximo() {
        return vlPrejuizoMaximo;
    }

    public void setVlPrejuizoMaximo(Float vlPrejuizoMaximo) {
        this.vlPrejuizoMaximo = vlPrejuizoMaximo;
    }

    @XmlTransient
    public List<Operacao> getOperacaoList() {
        return operacaoList;
    }

    public void setOperacaoList(List<Operacao> operacaoList) {
        this.operacaoList = operacaoList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (cdManejo != null ? cdManejo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof ManejoRisco)) {
            return false;
        }
        ManejoRisco other = (ManejoRisco) object;
        if ((this.cdManejo == null && other.cdManejo != null) || (this.cdManejo != null && !this.cdManejo.equals(other.cdManejo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "br.com.goldentrade.negocio.ManejoRisco[ cdManejo=" + cdManejo + " ]";
    }
    
}
